package com.ruoyi.audit.service;

import java.util.List;
import com.ruoyi.audit.domain.BusCarPackageAudit;
import com.ruoyi.audit.domain.vo.HandleAuditParam;
import com.ruoyi.audit.domain.vo.StartAuditParam;

/**
 * 审核信息Service接口
 * 
 * @author ruoyi
 * @date 2023-11-02
 */
public interface IBusCarPackageAuditService 
{
    /**
     * 查询审核信息
     * 
     * @param id 审核信息主键
     * @return 审核信息
     */
    public BusCarPackageAudit selectBusCarPackageAuditById(Long id);

    /**
     * 查询审核信息列表
     * 
     * @param busCarPackageAudit 审核信息
     * @return 审核信息集合
     */
    public List<BusCarPackageAudit> selectBusCarPackageAuditList(BusCarPackageAudit busCarPackageAudit);

    /**
     * 新增审核信息
     * 
     * @param busCarPackageAudit 审核信息
     * @return 结果
     */
    public int insertBusCarPackageAudit(BusCarPackageAudit busCarPackageAudit);

    /**
     * 修改审核信息
     * 
     * @param busCarPackageAudit 审核信息
     * @return 结果
     */
    public int updateBusCarPackageAudit(BusCarPackageAudit busCarPackageAudit);

    /**
     * 批量删除审核信息
     * 
     * @param ids 需要删除的审核信息主键集合
     * @return 结果
     */
    public int deleteBusCarPackageAuditByIds(Long[] ids);

    /**
     * 删除审核信息信息
     * 
     * @param id 审核信息主键
     * @return 结果
     */
    public int deleteBusCarPackageAuditById(Long id);

    /**
     * 开始审核
     * @param startAuditParam
     */
    void startAudit(StartAuditParam startAuditParam);

    /**
     * 撤销审核
     * @param id
     * @return
     */
    int cancelAuditById(Long id);

    /**
     * 查询待办
     * @return
     */
    List<BusCarPackageAudit> selectAuditTodoList();

    /**
     * 审批功能
     * @param handleAuditParam
     */
    void handleAudit(HandleAuditParam handleAuditParam);

    /**
     * 查询我的已办列表
     * @return
     */
    List<BusCarPackageAudit> selectAuditDoneList();
}
